#ifndef __OFP1234_H__
#define __OFP1234_H__

#define _(String) gettext(String)

#define OFP_DRIVER_CONFIG_FILE	"/usr/lib/biometric-authentication/drivers/extra/fp_driver.conf"


#define ENABLE_PROCESS_CHANGED 1 //使能是否支持进度显示, 0: 不支持，1：支持

#define OFP1234_USER_MODE_FLAG	1
#define OFP1234_DEBUG_MODE_FLAG	1234

#define OFP_SET_REBOOT_FLAG	2345


// 扩展提示信息的长度
#define EXTRA_INFO_LENGTH 1024

// 状态控制标志定义
#define CONTROL_FLAG_IDLE 0
#define CONTROL_FLAG_RUNNING 1
#define CONTROL_FLAG_STOPING 2
#define CONTROL_FLAG_STOPPED 3
#define CONTROL_FLAG_DONE 4

#define BASIC_PARAM				"BASIC_PARAM"
#define UPGRADE_MODE			"UpgradeMode"
#define AUTO_SUSPEND			"AutoSuspend"

// 定义升级模式
#define STR_FORCE_UPGRADE		"FORCE_UPGRADE"
#define STR_DONT_UPGRADE		"DONT_UPGRADE"
#define STR_AUTO_UPGRADE		"AUTO_UPGRADE"
#define STR_SMART_UPGRADE		"SMART_UPGRADE"

#define STR_UPGRADE_FLAG		"UpgradeFlag"
#define PRINTF_LOG_FLAG			"PrintfLogFlag"	//输出日志标志，0表示不输出，1表示输出


// 定义升级模式
typedef enum _UPGRADE_MODE_TYPE_
{
	FORCE_UPGRADE = 1,//不判断版本，强制升级
	DONT_UPGRADE = 2,//不执行升级
	AUTO_UPGRADE = 3,//判断版本不同则升级
	SMART_UPGRADE = 4,//判断新版本高于实际版本则升级
}UPGRADE_MODE_TYPE;


// 定义操作提示
enum demo_notify_mid {
	MID_EXTENDED_MESSAGE = NOTIFY_COMM_MAX + 1, // 定义扩展信息
};
	

// 指纹信息结构体
typedef struct _DRIVER_CONFIG_STRUCT_
{
	UPGRADE_MODE_TYPE upgrade_mode;	//升级模式
	uint8	autosuspend_flag;	//自动挂起标志，0: 不自动挂起，1: 开启自动挂起
	int upgrade_flag;
}DRIVER_CONFIG_STRUCT;



// 驱动私有结构体
// 设备驱动私有结构体， 指向设备驱动还需要的额外结构体
typedef struct driver_info_t driver_info;
struct driver_info_t {
	// 超时时间， 单位毫秒
	int timeoutMS;
	// 控制标志
	int ctrlFlag;
	// 扩展提示信息（ 后续将用到）
	char extra_info[EXTRA_INFO_LENGTH];
	/*
	* 厂商可根据需要在此处进行定义
	*/

	int mode_flag;	//用户模式与调试模式切换
	int reboot_flag;	//恢复下载模式标志
	DRIVER_CONFIG_STRUCT config;
};

extern int ofp1234_ops_delete_invalid_feature(bio_dev *dev);

#endif

